/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package utils;

import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author David
 */
public class CargadorArchivos {
    
    String carpetaRaizURL; //Carpeta raiz donde se encuentran todos los archivo
    File carpeta;
            
    public CargadorArchivos(String carpetaRaiz) {
        this.carpetaRaizURL = carpetaRaiz;
    }
    
    public File[] cargar() {
        if(verificarCarpeta()) {
            if(carpeta.isDirectory()) {
                File[] listOfFiles = carpeta.listFiles();
                if(listOfFiles != null) {
                    return listOfFiles;
                }
            }else {
                System.out.println("La url no corresponde a una carpeta");
            }
        }
        
        return null;
    }

    /**
     * Verifica si la carpeta que se especifico como raiz existe
     * @return 
     */
    private boolean verificarCarpeta() {   
        
       carpeta = new File(carpetaRaizURL);
        if (carpeta.exists()){  
            System.out.println("Floder exists");  
            return true;
        }else{  
            System.out.println("Floder not exists");  
            return false;
        }  
    }
    
    /**
     * Lee el archivo completo y devuelve un String.
     * @param path
     * @return
     * @throws IOException 
     */
    public String leerArchivo(String path) throws IOException {
        byte[] encoded = Files.readAllBytes(Paths.get(path));
        return new String(encoded, Charset.defaultCharset());

    }
    
    /**
     * Lee el archivo completo y devuelve una lista de String con las líneas del archivo
     * @param path
     * @return
     * @throws IOException 
     */
    public List<String> leerLineas(String path) throws IOException {
        return Files.readAllLines(Paths.get(path), Charset.forName("UTF-8"));
    }
    
    
}
